// formValidators.js用于定义表单的各种验证规则
// 修改密码的表单验证规则
export const pwdForm = {
  oldpassword: [
    'oldpassword', // 必填输入控件唯一标志
    {
      initialValue: '',
      rules: [
        {
          type: 'string', // input类型
          message: '' // 类型验证提示
        },
        {
          required: true, // 是否必填
          message: '请输入旧密码', // 必填验证提示，
          whitespace: true // 必选时，空格是否被视为错误
        }
      ]
    }
  ]
}
export const cityInfosForm = {
  city: [
    'city', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入城市' // 必填验证提示，
        }
      ]
    }
  ],
  cityCode: [
    'cityCode', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入城市编码' // 必填验证提示，
        }
      ]
    }
  ],
  polygonText: [
    'polygonText', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入区域点集' // 必填验证提示，
        }
      ]
    }
  ],
  province: [
    'province', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: false, // 是否必填
          message: '请输入父级城市' // 必填验证提示，
        }
      ]
    }
  ],
  provinceCode: [
    'provinceCode', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: false, // 是否必填
          message: '请输入父级城市编码' // 必填验证提示，
        }
      ]
    }
  ],
  remarks: [
    'remarks', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: false, // 是否必填
          message: '请输入标记信息' // 必填验证提示，
        }
      ]
    }
  ],
  levelType: [
    'levelType', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入所属层级' // 必填验证提示，
        }
      ]
    }
  ],
  mergerName: [
    'mergerName', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入城市全称' // 必填验证提示，
        }
      ]
    }
  ],
}
export const importForm = {
  upload: [
    'upload', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请上传文件' // 必填验证提示，
        }
      ]
    }
  ],
  fileConfig: [
    'fileConfig', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入数据标识' // 必填验证提示，
        },{
            pattern: /^[a-zA-Z0-9_()（）\u4e00-\u9fa5]{1,50}$/,
            message: "数据标识为1至50位汉字、字母、数字、下划线或中英文括号"
        }
      ]
    }
  ],
  fileTime: [
    'fileTime', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入日期' // 必填验证提示，
        }
      ]
    }
  ],
  gcs: [
    'gcs', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请选择地理坐标系' // 必填验证提示，
        }
      ]
    }
  ],
  menuid: [
    'menuid', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请选择编目' // 必填验证提示，
        }
      ]
    }
  ],
  lan: [
    'lan', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入经度' // 必填验证提示，
        },{
            pattern: /^(([^0][0-9]+|0)\.([0-9]{1,6})$)|^-?\d+$/,
            message: "经度为整数或者六位小数"
        }
      ]
    }
  ],
  lon: [
    'lon', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入纬度' // 必填验证提示，
        },{
          pattern: /^(([^0][0-9]+|0)\.([0-9]{1,6})$)|^-?\d+$/,
          message: "纬度为整数或者六位小数"
        }
      ]
    }
  ],
  scanLevel: [
    'scanLevel', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请选择级别' // 必填验证提示，
        }
      ]
    }
  ],
  region: [
    'regionList', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请选择范围' // 必填验证提示，
        }
      ]
    }
  ],
  area: ['area'],
  scale: [
    'scale', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请选择比例尺' // 必填验证提示，
        }
      ]
    }
  ]
}
export const importForm1 = {
  upload: [
    'upload' // 必填输入控件唯一标志
  ],
  fileConfig: [
    'fileConfig', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入数据标识' // 必填验证提示，
        },{
            pattern: /^[a-zA-Z0-9_()（）\u4e00-\u9fa5]{1,50}$/,
            message: "数据标识为1至50位汉字、字母、数字、下划线或中英文括号"
        }
      ]
    }
  ],
  fileTime: [
    'fileTime', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入日期' // 必填验证提示，
        }
      ]
    }
  ],
  gcs: [
    'gcs', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请选择地理坐标系' // 必填验证提示，
        }
      ]
    }
  ],
  menuid: [
    'menuid', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请选择编目' // 必填验证提示，
        }
      ]
    }
  ],
  lan: [
    'lan', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入经度' // 必填验证提示，
        },{
          pattern: /^(([^0][0-9]+|0)\.([0-9]{1,6})$)|^-?\d+$/,
          message: "经度为整数或者六位小数"
        }
      ]
    }
  ],
  lon: [
    'lon', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入纬度' // 必填验证提示，
        },{
          pattern: /^(([^0][0-9]+|0)\.([0-9]{1,6})$)|^-?\d+$/,
          message: "纬度为整数或者六位小数"
        }
      ]
    }
  ],
  scanLevel: [
    'scanLevel', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请选择级别' // 必填验证提示，
        }
      ]
    }
  ],
  region: [
    'regionList', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请选择范围' // 必填验证提示，
        }
      ]
    }
  ],
  area: ['area'],
  scale: [
    'scale', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请选择比例尺' // 必填验证提示，
        }
      ]
    }
  ]
}
export const needForm = {
  projectName: [
    'projectName', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入项目名称', // 必填验证提示，
          whitespace: true, // 必选时，空格是否被视为错误
        },{
            pattern: /^[a-zA-Z0-9_()（）\u4e00-\u9fa5]{1,255}$/,
            message: "项目名称为1至255位汉字、字母、数字、下划线或中英文括号"
        }
      ]
    }
  ],
  demandName: [
    'demandName', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入需求名称', // 必填验证提示，
          whitespace: true // 必选时，空格是否被视为错误
        },{
            pattern: /^[a-zA-Z0-9_()（）\u4e00-\u9fa5]{1,255}$/,
            message: "需求名称为1至255位汉字、字母、数字、下划线或中英文括号"
        }
      ]
    }
  ],
  demandDes: [
    'demandDes', // 必填输入控件唯一标志
    {
      rules: [
        {
          max: 255, // 是否必填
          message: '不能超过255字符', // 必填验证提示，
        }
      ]
    }
  ],
  getEndtimeFront: [
    'getEndtimeFront', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请选择需求截止日期' // 必填验证提示，
        }
      ]
    }
  ],
  demandClassify: [
    'demandClassify', // 必填输入控件唯一标志
    {
      initialValue: '生产任务',
      rules: [
        {
          required: true // 是否必填
        }
      ]
    }
  ],
  upload: [
    'upload', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请上传附件' // 必填验证提示，
        }
      ]
    }
  ],
  reason:[
    'reason',
  ],
  area: [
    'area',
  ],
}
export const productTaskForm = {
  name: [
    'name', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入任务名称', // 必填验证提示，
          whitespace: true // 必选时，空格是否被视为错误
        },{
            pattern: /^[a-zA-Z0-9_()（）\u4e00-\u9fa5]{1,255}$/,
            message: "任务名称为1至255位汉字、字母、数字、下划线或中英文括号"
        }
      ]
    }
  ],
  demandyear: [
    'demanddata', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入生产数据年份' // 必填验证提示，
        }
      ]
    }
  ],
  taskNum: [
    'taskNum', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入生产任务单号' // 必填验证提示，
        }
      ]
    }
  ],
  taskDetail: [
    'taskDetail', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入任务详情' // 必填验证提示，
        }
      ]
    }
  ],
  upload: [
    'taskdocuments', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请选择范围' // 必填验证提示，
        }
      ]
    }
  ],
  fronttime: [
    'fronttime', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入任务时间' // 必填验证提示，
        }
      ]
    }
  ]
}
export const productTaskForm1 = {
  name: [
    'name', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入任务名称', // 必填验证提示，
          whitespace: true // 必选时，空格是否被视为错误
        },{
          pattern: /^[a-zA-Z0-9_()（）\u4e00-\u9fa5]{1,255}$/,
          message: "任务名称为1至255位汉字、字母、数字、下划线或中英文括号"
        }
      ]
    }
  ],
  demandyear: [
    'demanddata', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入生产数据年份' // 必填验证提示，
        }
      ]
    }
  ],
  taskNum: [
    'taskNum', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入生产任务单号' // 必填验证提示，
        }
      ]
    }
  ],
  taskDetail: [
    'taskDetail', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入任务详情' // 必填验证提示，
        }
      ]
    }
  ],
  areaselect: [
   'area', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入范围loygon' // 必填验证提示，
        }
      ]
    }
  ],
  text: [
    'taskdocument', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入范围' // 必填验证提示，
        }
      ]
    }
  ],
  fronttime: [
    'fronttime', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入任务时间' // 必填验证提示，
        }
      ]
    }
  ]
}
//shuju
export const estimateTaskForm1 = {
  name: [
    'name', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入任务名称', // 必填验证提示，
          whitespace: true // 必选时，空格是否被视为错误
        },{
            pattern: /^[a-zA-Z0-9_()（）\u4e00-\u9fa5]{1,255}$/,
            message: "任务名称为1至255位汉字、字母、数字、下划线或中英文括号"
        }
      ]
    }
  ],
  taskdes: [
    'taskdes' // 必填输入控件唯一标志
  ],
  taskClassify: [
    'taskClassify', // 必填输入控件唯一标志
    {
      initialValue: '数据',
      rules: [
        {
          required: true, // 是否必填
          message: '请输入评估任务类型' // 必填验证提示，
        }
      ]
    }
  ],
  uploadData: [
    'uploadData', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请上传数据' // 必填验证提示，
        }
      ]
    }
  ],
  uploadApplication: [
    'uploadApplication' // 必填输入控件唯一标志
  ],
  taskType: [
    'taskType' // 必填输入控件唯一标志
  ],
  frontyear: [
    'frontyear', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入任务时间' // 必填验证提示，
        }
      ]
    }
  ]
}
//yingyong
export const estimateTaskForm2 = {
  name: [
    'name', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入任务名称', // 必填验证提示，
          whitespace: true // 必选时，空格是否被视为错误
        },{
            pattern: /^[a-zA-Z0-9_()（）\u4e00-\u9fa5]{1,255}$/,
            message: "任务名称为1至255位汉字、字母、数字、下划线或中英文括号"
        }
      ]
    }
  ],
  taskdes: [
    'taskdes' // 必填输入控件唯一标志
  ],
  taskClassify: [
    'taskClassify', // 必填输入控件唯一标志
    {
      initialValue: '数据',
      rules: [
        {
          required: true, // 是否必填
          message: '请输入评估任务类型' // 必填验证提示，
        }
      ]
    }
  ],
  uploadData: [
    'uploadData' // 必填输入控件唯一标志
  ],
  uploadApplication: [
    'uploadApplication', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请上传应用' // 必填验证提示，
        }
      ]
    }
  ],
  taskType: [
    'taskType' // 必填输入控件唯一标志
  ],
  frontyear: [
    'frontyear', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入任务时间' // 必填验证提示，
        }
      ]
    }
  ]
}
//fuwu
export const estimateTaskForm3 = {
  name: [
    'name', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入任务名称', // 必填验证提示，
          whitespace: true // 必选时，空格是否被视为错误
        },{
            pattern: /^[a-zA-Z0-9_()（）\u4e00-\u9fa5]{1,255}$/,
            message: "任务名称为1至255位汉字、字母、数字、下划线或中英文括号"
        }
      ]
    }
  ],
  taskdes: [
    'taskdes' // 必填输入控件唯一标志
  ],
  taskClassify: [
    'taskClassify', // 必填输入控件唯一标志
    {
      initialValue: '数据',
      rules: [
        {
          required: true, // 是否必填
          message: '请输入评估任务类型' // 必填验证提示，
        }
      ]
    }
  ],
  httpmethod:[
    'httpmethod',
    {
      rules:[
        {
          required: true
        }
      ]
    }
  ],
  url:[
    'url',
    {
      rules:[
        {
          required: true
        }
      ]
    }
  ],
  parameters:[
    'parameters',
    {
      rules:[
        {
          required: true
        }
      ]
    }
  ],
  expectedResult:[
    'expectedResult',
    {
      rules:[
        {
          required: true
        }
      ]
    }
  ],
  uploadData: [
    'uploadData' // 必填输入控件唯一标志
  ],
  uploadApplication: [
    'uploadApplication' // 必填输入控件唯一标志
  ],
  /*taskType: [
    'taskType', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请选择服务' // 必填验证提示，
        }
      ]
    }
  ],*/
  frontyear: [
    'frontyear', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请输入任务时间' // 必填验证提示，
        }
      ]
    }
  ]
}

export const addMenuForm = {
  menuName: [
    'menuName', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请填写目录名称', // 必填验证提示，
          whitespace: true // 必选时，空格是否被视为错误
        },{
          pattern: /^[a-zA-Z0-9_()（）\u4e00-\u9fa5]{1,30}$/,
          message: "目录名称为1至30位汉字、字母、数字、下划线或中英文括号"
        }
      ]
    }
  ],
  discription: [
    'discription', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: false, // 是否必填
          message: '请填写目录描述', // 必填验证提示，
          whitespace: false // 必选时，空格是否被视为错误
        },{
          pattern: /^[a-zA-Z0-9_()（）\u4e00-\u9fa5]{1,255}$/,
          message: "目录描述为1至255位汉字、字母、数字、下划线或中英文括号"
        }
      ]
    }
  ]
}

export const userForm = {
  username: [
    'username', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请填写用户名', // 必填验证提示，
          whitespace: true // 必选时，空格是否被视为错误
        },{
            pattern: /^[a-zA-Z0-9]{1,50}$/,
            message: "用户名为1至50位汉字、字母、数字"
        }
      ]
    }
  ],
    password: [
    'password', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请填写密码', // 必填验证提示，
          whitespace: true // 必选时，空格是否被视为错误
        }, {
          max: 60, // 是否必填
          message: '密码长度不超过60个字符', // 必填验证提示，
        }

      ]
    }
  ],
  role: [
    'role', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请填写角色' // 必填验证提示，
        }
      ]
    }
  ],
  permissions: [
    'permissions', // 必填输入控件唯一标志
  ],
  areacode: [
    'areaCodeName' // 必填输入控件唯一标志
  ],
  department: [
    'department' // 必填输入控件唯一标志
  ],
  security: [
    'security' // 必填输入控件唯一标志
  ],
  realname: [
    'realName' // 必填输入控件唯一标志
  ]
}
export const userForm1 = {
  username: [
    'username', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请填写用户名', // 必填验证提示，
          whitespace: true // 必选时，空格是否被视为错误
        }
      ]
    }
  ],
    password: [
    'password', // 必填输入控件唯一标志
    {
      rules: [
        {
          max: 60, // 是否必填
          message: '密码长度不超过60个字符', // 必填验证提示，
        }

      ]
    }
  ],
  role: [
    'role', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请填写角色' // 必填验证提示，
        }
      ]
    }
  ],
  permissions: [
    'permissions', // 必填输入控件唯一标志
  ],
  areacode: [
    'areaCodeName' // 必填输入控件唯一标志
  ],
  department: [
    'department' // 必填输入控件唯一标志
  ],
  security: [
    'security' // 必填输入控件唯一标志
  ],
  realname: [
    'realName' // 必填输入控件唯一标志
  ]
}
export const roleForm = {
  roleName: [
    'roleName', // 必填输入控件唯一标志
    {
      rules: [
        {
          required: true, // 是否必填
          message: '请填写角色' // 必填验证提示，
        },{
            pattern: /^[a-zA-Z0-9\u4e00-\u9fa5]{1,50}$/,
            message: "用户名为1至50位汉字、字母、数字"
        }
      ]
    }
  ],
  systemMenu: [
    'systemMenu', // 必填输入控件唯一标志
     {
      rules: [
        {
          required: true, // 是否必填
          message: '请填写角色权限' // 必填验证提示，
        }
      ]
    }
  ],
  description: [
    'description', // 必填输入控件唯一标志
     {
      rules: [
        {
          max: 255, // 是否必填
          message: '描述长度不超过255个字符', // 必填验证提示，
        }

      ]
    }
  ]
}


